package com.bsierp.business.pojo;

import java.util.HashSet;
import java.util.Set;

/**
 * Product entity. @author MyEclipse Persistence Tools
 */

public class Product implements java.io.Serializable {

    // Fields

    private Integer productId;
    private ProductGroup productGroup;
    private ProductCategory productCategory;
    private User user;
    private String productModel;
    private String productName;
    private String productManufacturingdate;
    private String productRegisterdate;
    private String productDescription;
    private String productUpdatetime;
    private String productImage;
    private Double productCostprice;
    private Double productPrice;
    private Integer productState;
    private Integer productPublic;
    private Set productRalativesForProductId = new HashSet(0);
    private Set promotionProducts = new HashSet(0);
    private Set privateProducts = new HashSet(0);
    private Set productMaterials = new HashSet(0);
    private Set productRalativesForRalativeproductId = new HashSet(0);
    private Set orders = new HashSet(0);
    private Set processPayments = new HashSet(0);
    private Set productParameters = new HashSet(0);
    private Set storageLogs = new HashSet(0);
    private Set processes = new HashSet(0);
    private Set orderHistories = new HashSet(0);
    private Set processHistories = new HashSet(0);

    // Constructors

    /** default constructor */
    public Product() {
    }

    /** minimal constructor */
    public Product(ProductGroup productGroup, ProductCategory productCategory,
            User user, String productModel, String productName,
            String productManufacturingdate, String productRegisterdate,
            String productDescription, String productUpdatetime,
            String productImage, Double productCostprice, Double productPrice,
            Integer productState, Integer productPublic) {
        this.productGroup = productGroup;
        this.productCategory = productCategory;
        this.user = user;
        this.productModel = productModel;
        this.productName = productName;
        this.productManufacturingdate = productManufacturingdate;
        this.productRegisterdate = productRegisterdate;
        this.productDescription = productDescription;
        this.productUpdatetime = productUpdatetime;
        this.productImage = productImage;
        this.productCostprice = productCostprice;
        this.productPrice = productPrice;
        this.productState = productState;
        this.productPublic = productPublic;
    }

    /** full constructor */
    public Product(ProductGroup productGroup, ProductCategory productCategory,
            User user, String productModel, String productName,
            String productManufacturingdate, String productRegisterdate,
            String productDescription, String productUpdatetime,
            String productImage, Double productCostprice, Double productPrice,
            Integer productState, Integer productPublic,
            Set productRalativesForProductId, Set promotionProducts,
            Set privateProducts, Set productMaterials,
            Set productRalativesForRalativeproductId, Set orders,
            Set processPayments, Set productParameters, Set storageLogs,
            Set processes, Set orderHistories, Set processHistories) {
        this.productGroup = productGroup;
        this.productCategory = productCategory;
        this.user = user;
        this.productModel = productModel;
        this.productName = productName;
        this.productManufacturingdate = productManufacturingdate;
        this.productRegisterdate = productRegisterdate;
        this.productDescription = productDescription;
        this.productUpdatetime = productUpdatetime;
        this.productImage = productImage;
        this.productCostprice = productCostprice;
        this.productPrice = productPrice;
        this.productState = productState;
        this.productPublic = productPublic;
        this.productRalativesForProductId = productRalativesForProductId;
        this.promotionProducts = promotionProducts;
        this.privateProducts = privateProducts;
        this.productMaterials = productMaterials;
        this.productRalativesForRalativeproductId = productRalativesForRalativeproductId;
        this.orders = orders;
        this.processPayments = processPayments;
        this.productParameters = productParameters;
        this.storageLogs = storageLogs;
        this.processes = processes;
        this.orderHistories = orderHistories;
        this.processHistories = processHistories;
    }

    // Property accessors

    public Integer getProductId() {
        return this.productId;
    }

    public void setProductId(Integer productId) {
        this.productId = productId;
    }

    public ProductGroup getProductGroup() {
        return this.productGroup;
    }

    public void setProductGroup(ProductGroup productGroup) {
        this.productGroup = productGroup;
    }

    public ProductCategory getProductCategory() {
        return this.productCategory;
    }

    public void setProductCategory(ProductCategory productCategory) {
        this.productCategory = productCategory;
    }

    public User getUser() {
        return this.user;
    }

    public void setUser(User user) {
        this.user = user;
    }

    public String getProductModel() {
        return this.productModel;
    }

    public void setProductModel(String productModel) {
        this.productModel = productModel;
    }

    public String getProductName() {
        return this.productName;
    }

    public void setProductName(String productName) {
        this.productName = productName;
    }

    public String getProductManufacturingdate() {
        return this.productManufacturingdate;
    }

    public void setProductManufacturingdate(String productManufacturingdate) {
        this.productManufacturingdate = productManufacturingdate;
    }

    public String getProductRegisterdate() {
        return this.productRegisterdate;
    }

    public void setProductRegisterdate(String productRegisterdate) {
        this.productRegisterdate = productRegisterdate;
    }

    public String getProductDescription() {
        return this.productDescription;
    }

    public void setProductDescription(String productDescription) {
        this.productDescription = productDescription;
    }

    public String getProductUpdatetime() {
        return this.productUpdatetime;
    }

    public void setProductUpdatetime(String productUpdatetime) {
        this.productUpdatetime = productUpdatetime;
    }

    public String getProductImage() {
        return this.productImage;
    }

    public void setProductImage(String productImage) {
        this.productImage = productImage;
    }

    public Double getProductCostprice() {
        return this.productCostprice;
    }

    public void setProductCostprice(Double productCostprice) {
        this.productCostprice = productCostprice;
    }

    public Double getProductPrice() {
        return this.productPrice;
    }

    public void setProductPrice(Double productPrice) {
        this.productPrice = productPrice;
    }

    public Integer getProductState() {
        return this.productState;
    }

    public void setProductState(Integer productState) {
        this.productState = productState;
    }

    public Integer getProductPublic() {
        return this.productPublic;
    }

    public void setProductPublic(Integer productPublic) {
        this.productPublic = productPublic;
    }

    public Set getProductRalativesForProductId() {
        return this.productRalativesForProductId;
    }

    public void setProductRalativesForProductId(Set productRalativesForProductId) {
        this.productRalativesForProductId = productRalativesForProductId;
    }

    public Set getPromotionProducts() {
        return this.promotionProducts;
    }

    public void setPromotionProducts(Set promotionProducts) {
        this.promotionProducts = promotionProducts;
    }

    public Set getPrivateProducts() {
        return this.privateProducts;
    }

    public void setPrivateProducts(Set privateProducts) {
        this.privateProducts = privateProducts;
    }

    public Set getProductMaterials() {
        return this.productMaterials;
    }

    public void setProductMaterials(Set productMaterials) {
        this.productMaterials = productMaterials;
    }

    public Set getProductRalativesForRalativeproductId() {
        return this.productRalativesForRalativeproductId;
    }

    public void setProductRalativesForRalativeproductId(
            Set productRalativesForRalativeproductId) {
        this.productRalativesForRalativeproductId = productRalativesForRalativeproductId;
    }

    public Set getOrders() {
        return this.orders;
    }

    public void setOrders(Set orders) {
        this.orders = orders;
    }

    public Set getProcessPayments() {
        return this.processPayments;
    }

    public void setProcessPayments(Set processPayments) {
        this.processPayments = processPayments;
    }

    public Set getProductParameters() {
        return this.productParameters;
    }

    public void setProductParameters(Set productParameters) {
        this.productParameters = productParameters;
    }

    public Set getStorageLogs() {
        return this.storageLogs;
    }

    public void setStorageLogs(Set storageLogs) {
        this.storageLogs = storageLogs;
    }

    public Set getProcesses() {
        return this.processes;
    }

    public void setProcesses(Set processes) {
        this.processes = processes;
    }

    public Set getOrderHistories() {
        return this.orderHistories;
    }

    public void setOrderHistories(Set orderHistories) {
        this.orderHistories = orderHistories;
    }

    public Set getProcessHistories() {
        return this.processHistories;
    }

    public void setProcessHistories(Set processHistories) {
        this.processHistories = processHistories;
    }

}